using System.Collections.Generic;
using Unity.Entities;
using UnityEngine;

namespace Game.Core
{
    public static class ECSPrefab
    {
        public static List<string> PrefabPath = new List<string>()
        {
            "Prefabs/Capsule"
        };
        
        public static List<GameObject> PrefabObj = new List<GameObject>();
        public static Dictionary<string, Entity> PrefabMap = new Dictionary<string, Entity>(); 
    }
    
    // [UpdateInGroup(typeof(GameObjectDeclareReferencedObjectsGroup))]
    // public class PrefabConverterDeclare : GameObjectConversionSystem
    // {
    //     protected override void OnUpdate()
    //     {
    //         foreach (var path in ECSPrefab.PrefabPath)
    //         {
    //             var go = Resources.Load(path) as GameObject;
    //             if (null != go && !ECSPrefab.PrefabObj.Contains(go))
    //             {
    //                 DeclareReferencedPrefab(go); 
    //                 ECSPrefab.PrefabObj.Add(go);
    //             }
    //         }
    //     }
    //
    //     protected override void OnDestroy()
    //     {
    //         ECSPrefab.PrefabObj.Clear(); 
    //     }
    // }
    //
    // class PrefabConverter : GameObjectConversionSystem
    // {
    //     protected override void OnUpdate()
    //     {
    //         foreach (var go in ECSPrefab.PrefabObj)
    //         {
    //             var prefab = GetPrimaryEntity(go);
    //             ECSPrefab.PrefabMap.TryAdd(go.name, prefab); 
    //         }
    //     }
    // }
}